Passed
Push — develop ( ebd0be...8e0eb9 )
by Daniel
58s queued 10s
created

Configuration   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 15
rs 10
c 0
b 0
f 0
wmc 2

1 Function

Rating   Name   Duplication   Size   Complexity  
A getProperty 0 9 2
1
import { ConfigurationStorageBooleanCallback, getGlobalStorageProvider } from "../browserApi/storageProvider";
2
import { assigned } from "../utils/helpers";
3
4
// website
5
export const SETTINGS_websiteDisplayQuickSearch = 'websiteDisplayQuickSearch';
6
export const SETTINGS_websiteAutoTimeConversion = 'websiteAutoTimeConversion';
7
export const SETTINGS_websiteShowNotificationsCountInTab = 'websiteShowNotificationsCountInTab';
8
export const SETTINGS_websiteHideUnusedTabs = 'websiteHideUnusedTabs';
9
export const SETTINGS_websiteOptimizeListAppearance = 'websiteOptimizeListAppearance';
10
export const SETTINGS_websiteOptimizeFontColors = 'websiteOptimizeFontColors';
11
// anime
12
export const SETTINGS_animeLanguageDisplay = 'animeLanguageDisplay';
13
// requests 
14
export const SETTINGS_requestBeautifyPage = 'requestBeautifyPage';
15
// player
16
export const SETTINGS_playerAutoplayAfterScreenshot = 'playerAutoplayAfterScreenshot';
17
// w2g
18
export const SETTINGS_w2gDisplayCharacterCounter = 'w2gDisplayCharacterCounter';
19
class Configuration {
20
    settingsCache: Map<string, boolean>;
21
22
    constructor() {
23
        this.settingsCache = new Map();
24
    }
25
26
    getProperty(key: string, callback: ConfigurationStorageBooleanCallback): void {
27
        if (this.settingsCache.has(key)) {
28
            callback(this.settingsCache.get(key));
29
        }
30
        else {
31
            getGlobalStorageProvider().getDataAsBoolean(key, true, value => {
32
                this.settingsCache.set(key, value);
33
                callback(value);
34
            });
35
        }
36
    }
37
}
38
39
let __globalConfig: Configuration;
40
41
export function getGlobalConfiguration() {
42
    if (!assigned(__globalConfig)) {
43
        __globalConfig = new Configuration();
44
    }
45
46
    return __globalConfig;
47
}
48